package Testes;

import static org.junit.Assert.*;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import org.junit.Test;

import DAO.AlunoDaoImplArquivo;
import DAO.NotaDaoImplArquivo;
import Pojo.Aluno;
import Pojo.Atividade;
import Pojo.Nota;

public class NotaDaoImplArquivoTest {

	@Test
	public void insercaoNaListaDaCerto() throws Exception{
		Aluno aluno = new Aluno(1,"Thiago","09989403643");
		Date date ; 
		DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
    	date = (Date) formatter.parse("27/02/2012"); 
    	Calendar cal=Calendar.getInstance();
    	cal.setTime(date);
		Atividade atividade = new Atividade(1, "Prova", "Prova", cal, 10.0);
		Nota nota = new Nota(10,10.0,aluno,atividade);
		assertEquals(true, new NotaDaoImplArquivo().adicionarNota(nota));
	}

	@Test
	public void insercaoNaListaDaErrado() throws Exception{
		Aluno aluno = new Aluno(1,"Thiago","09989403643");
		Date date ; 
		DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
    	date = (Date) formatter.parse("27/02/2012"); 
    	Calendar cal=Calendar.getInstance();
    	cal.setTime(date);
		Atividade atividade = new Atividade(1, "Prova", "Prova", cal, 10.0);
		Nota nota = new Nota(7,10.0,aluno,atividade);
		assertEquals(false, new NotaDaoImplArquivo().adicionarNota(nota));
	}
	
	@Test
	public void remocaoNaListaDaCerto() throws Exception{
		NotaDaoImplArquivo notaDao = new NotaDaoImplArquivo();
		Nota nota = new Nota(10,10.0);
		assertEquals(true,notaDao.removerNota(nota.getIdNota()));
	}
	
	@Test
	public void verificarLancamentoNotaDaCerto() throws Exception{
		NotaDaoImplArquivo notaDao = new NotaDaoImplArquivo();
		assertNotSame(-1, notaDao.verificarLancamento(1, 1));
	}
	
	@Test
	public void verificarLancamentoNotaDaErrado() throws Exception{
		NotaDaoImplArquivo notaDao = new NotaDaoImplArquivo();
		assertSame(-1, notaDao.verificarLancamento(1, 123));
	}
	
	@Test
	public void procurarNotaPorIdDaCerto() throws Exception{
		NotaDaoImplArquivo notaDao = new NotaDaoImplArquivo();
		assertNotNull(notaDao.procurarPorId(7));
	}
	
	@Test
	public void procurarNotaPorIdDaErrado() throws Exception{
		NotaDaoImplArquivo notaDao = new NotaDaoImplArquivo();
		assertNull(notaDao.procurarPorId(1));
	}
	
	
	
}
